﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Renci.iRods.Common;

namespace Renci.iRods.Data
{
    public class ObjectAccess : DataItem
    {
        [iRodsColumn(DataObjectAttributes.COL_DATA_ACCESS_TYPE)]
        public string DataAccessType { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_DATA_ACCESS_NAME)]
        public string DataAccessName { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_DATA_TOKEN_NAMESPACE)]
        public string DataTokenNamespace { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_DATA_ACCESS_USER_ID)]
        public long DataAccessUserID { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_DATA_ACCESS_DATA_ID)]
        public long DataAccessID { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_COLL_ACCESS_TYPE)]
        public string CollectionAccessType { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_COLL_ACCESS_NAME)]
        public string CollectionAccessName { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_COLL_TOKEN_NAMESPACE)]
        public string CollectionTokenNamespace { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_COLL_ACCESS_USER_ID)]
        public long CollectionAccessUserID { get; internal set; }

        [iRodsColumn(DataObjectAttributes.COL_COLL_ACCESS_COLL_ID)]
        public long CollectionAccessID { get; internal set; }

        internal ObjectAccess(IRodsConnection connection)
            : base(connection)
        {

        }

        public override void Refresh()
        {
            throw new NotImplementedException();
        }

    }
}
